//
//  ACNetworkManager.h
//  ACFramework
//
//  Created by caoyq on 2018/11/12.
//

#import <Foundation/Foundation.h>
#import "ACNetworkBody.h"

/**
 * 对 AFNetworking 中 post、get、download、upload 四种方法进行整合，简化初始化。
 *
 * 记录对应控制器中的网络请求，方便后面进行请求的取消。requestBody中不传vcName，那么表示不用自动取消的请求。
 *
 * 调用 [ACNetworkManager manager] 进行网络监控，本来是在调用 sendTaskWithRequest 的时候内部调用，发现第一次请求必定是捕获不到网络，第二次之后就正常了，猜测可能是间隔太短，所以单独放出去调用（必要性，已经过好几次的测试得出的结论）
 */
@interface ACNetworkManager : NSObject

///自动调用以开启网络检测
+ (instancetype)manager;

///所有的请求集中处理
+ (ACURLSessionTask *)sendTaskWithRequest: (ACRequestBody *)requestBody;

+ (void)stopAllNeedAutoCancelRequestWithVCName: (NSString *)vcName;

@end
